home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crosscountry USA Photo Safari
/
Crosscountry USA Photo Safari.iso
/
Data
/
cc_base
/
pak00_16bit_f.pk3
/
map.gl.p
< prev
next >
Wrap
Text File
|
2003-03-27
|
47KB
|
1,273 lines
{
Hidden = TRUE;
ScriptID = script {
@show{
/* set map to current truck position */
ResParseEvent(GuiChildByName(SELF, "truck_curr_position_icon"),"@activate");
/* display current city description */
ResParseEvent(GuiChildByName(SELF, "city_picture_button"),"@activate");
/* Teresa wants state summary button */
ResParseEvent(GuiChildByName(SELF, "state_summary_button"),"@activate");
}
@updateCityStateViews {
ResParseEvent(ResByName("map.gl/city_information_button"),"@update");
ResParseEvent(ResByName("map.gl/city_picture_button"), "@update");
ResParseEvent(ResByName("map.gl/city_summary_button"), "@update");
ResParseEvent(ResByName("map.gl/state_information_button"),"@update");
ResParseEvent(ResByName("map.gl/state_bird_button"),"@update");
ResParseEvent(ResByName("map.gl/state_summary_button"),"@update");
ResParseEvent(ResByName("map.gl/state_flower_button"),"@update");
}
};
ChildID = {
GuiAnimation("background") {
AnimationID = "image/map_screen.pcx";
X = 0;
Y = 0;
},
/* DRAWS THE TILE MAP (BIG MAP) */
GuiTileMap("map") {
X = 22;
Y = 62;
TileMapID = "map.tm";
Width = 315;
Height = 268;
ScrollX = 0; /* set how much we are scrolled by, in this case nothing */
ScrollY = 0;
ScriptID = Script {
@update {
resid Game;
resid Player;
resid actor_id;
resid map_id;
int x;
int y;
/* == DRAW CURRENT TRUCK POSITION == */
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game,"game_cur_player");
map_id = ResPropGetResID(SELF, "TileMapID");
actor_id = ResByName("map.tm/truck");
/* get truck x and y from player */
x = ResPropGetInt(Player,"nav_truck_x");
y = ResPropGetInt(Player,"nav_truck_y");
/* draw truck current coordinate on tile map */
ActorSetMXMY(actor_id, ((x-5) * 1000), ((y-5) * 1000));
/* == DRAW CURRENT TRUCK POSITION END == */
}
@loaded {
resid map_id;
resid actor_id;
resid line_id;
resid Game;
resid Player;
resid csv_data_id;
resid city_data_id;
resid route_data_id;
resid truck_id;
int city_num;
int segment_num;
int row_count;
int x;
int y;
int delta_y;
int x1;
int y1;
int x2;
int y2;
int text_x;
int text_y;
int xOffset;
int yOffset;
str city_name;
str cur_name;
resid map_actor_city_script_id;
resid city_font_id;
xOffset = -3; /* offset by 1/2 size of image - should calc it */
yOffset = -3; /* ditto */
map_id = ResPropGetResID(SELF, "TileMapID");
csv_data_id = ResByName("CSVData");
city_data_id = ResPropGetResID(csv_data_id, "city_id");
route_data_id = ResPropGetResID(csv_data_id, "route_id");
row_count = CSVGetRowCount(city_data_id);
city_font_id = ResByName("font/verdana_9_black.tf");
map_actor_city_script_id = ResByName("map_actor_city.c4");
/* read the cities */
city_num = 0;
while( city_num < row_count ) {
city_name = CSVGetStr(city_data_id, "name", city_num);
cur_name = StrFormatStr("map.tm/%s", city_name );
/*
actor_id = ResCreateWithPropFile("MapCityActor", cur_name, "map_actor_city.ac.p");
*/
actor_id = ResCreate("MapCityActor", cur_name);
ResPropSetResID(actor_id, "ScriptID", map_actor_city_script_id);
if (StrExact(CSVGetStr(city_data_id, "is_capital", city_num), "y")) {
ResPropSetResID(actor_id, "AnimationID", ResByName("gui/laptop/map_button/capital_city_dot.pcx"));
ResPropSetResID(actor_id, "dot", ResByName("gui/laptop/map_button/capital_city_dot.pcx"));
ResPropSetResID(actor_id, "selected_dot", ResByName("gui/laptop/map_button/capital_city_selected.pcx"));
ResPropSetInt (actor_id, "ZOrder", 1);
/*
xOffset = -3;
yOffset = -3;
*/
} else {
ResPropSetResID(actor_id, "AnimationID", ResByName("gui/laptop/map_button/blue_dot.pcx"));
ResPropSetResID(actor_id, "dot", ResByName("gui/laptop/map_button/blue_dot.pcx"));
ResPropSetResID(actor_id, "selected_dot", ResByName("gui/laptop/map_button/blue_selected.pcx"));
ResPropSetInt (actor_id, "ZOrder", 1);
/*
xOffset = -3;
yOffset = -3;
*/
}
x = CSVGetInt(city_data_id, "X", city_num);
y = CSVGetInt(city_data_id, "Y", city_num);
x += xOffset;
y += yOffset;
text_x = CSVGetInt(city_data_id, "text_x", city_num);
text_y = CSVGetInt(city_data_id, "text_y", city_num);
text_y -= TextfontGetHeight(city_font_id, city_name);
if (StrExact(CSVGetStr(city_data_id, "text_align", city_num), "R")) {
/* the must match the font used by map_actor to draw the text!! */
text_x -= TextfontGetWidth(city_font_id, city_name);
}
ResPropSetInt(actor_id, "text_x" , text_x);
ResPropSetInt(actor_id, "text_y" , text_y);
ResPropSetStr(actor_id, "name" , city_name);
ActorSetMXMY(actor_id, x * 1000, y * 1000);
ActorAddToTileMap(actor_id, map_id);
city_num += 1;
}
/* populate the road segments */
segment_num = 0;
row_count = CSVGetRowCount(route_data_id);
while( segment_num < row_count ) {
cur_name = StrFormatStr("map.tm/line/segment%d.l", segment_num);
line_id = ResCreateWithPropFile("Line", cur_name, "map_line.l.p");
cur_name = StrFormatStr("map.tm/segment%d", segment_num);
/*
actor_id = ResCreateWithPropFile("Actor", cur_name, "map_actor_line.ac.p");
*/
actor_id = ResCreate("Actor", cur_name);
ResPropSetInt(actor_id, "DontAnimate", 1);
x1 = CSVGetInt(route_data_id, "xb", segment_num);
y1 = CSVGetInt(route_data_id, "yb", segment_num);
x2 = CSVGetInt(route_data_id, "xe", segment_num);
y2 = CSVGetInt(route_data_id, "ye", segment_num);
x = Min(x1,x2);
y = Min(y1,y2);
ResPropSetInt(line_id, "X1", x1-x);
ResPropSetInt(line_id, "X2", x2-x);
ResPropSetInt(line_id, "Y1", y1-y);
ResPropSetInt(line_id, "Y2", y2-y);
ResPropSetResID(actor_id, "AnimationID", line_id);
ResPropSetInt (actor_id, "ZOrder", 0);
ActorSetMXMY(actor_id, x * 1000, y * 1000);
ActorAddToTileMap(actor_id, map_id);
segment_num += 1;
}
/* == DRAW CURRENT TRUCK POSITION == */
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game,"game_cur_player");
/* get truck x and y from player */
x = ResPropGetInt(Player,"nav_truck_x");
y = ResPropGetInt(Player,"nav_truck_y");
/* draw truck current coordinate on tile map */
actor_id = ResCreateWithPropFile("Actor", "map.tm/truck", "map_actor_truck.ac.p");
ResPropSetInt (actor_id, "ZOrder", 2);
ActorSetMXMY(actor_id, ((x-5) * 1000), ((y-5) * 1000));
ActorAddToTileMap(actor_id, map_id);
}
}
},
GuiAnimation("minimap") {
AnimationID = "image/mini_map.pcx";
X = 22;
Y = 339;
},
GuiMiniMapButton("minimapbutton") {
color = #ff0000;
IgnoreTransparency = TRUE;
ScriptID = Script {
@loaded {
resid id_map;
resid id_mini_map;
resid id_tile_map;
int mapX;
int mapY;
int mapWidth;
int mapHeight;
int mapViewWidth;
int mapViewHeight;
int miniMapWidth;
int miniMapHeight;
int Width;
int Height;
ResPropAlias(SELF,"Width","Width");
ResPropAlias(SELF,"Height","Height");
id_map = GuiSiblingByName("map");
id_tile_map = ResPropGetResID(id_map, "TileMapID");
id_mini_map = GuiSiblingByName("minimap");
mapX = ResPropGetInt(id_map, "X");
mapY = ResPropGetInt(id_map, "Y");
mapHeight = ResPropGetInt(id_tile_map, "MapHeight");
mapWidth = ResPropGetInt(id_tile_map, "MapWidth");
mapViewHeight = ResPropGetInt(id_map, "Height");
mapViewWidth = ResPropGetInt(id_map, "Width");
miniMapHeight = ResPropGetInt(id_mini_map, "Height");
miniMapWidth = ResPropGetInt(id_mini_map, "Width");
ResPropSetInt(SELF, "mousedown", 0);
ResPropSetInt(SELF, "X", ResPropGetInt(id_mini_map, "X"));
ResPropSetInt(SELF, "Y", ResPropGetInt(id_mini_map, "Y"));
/* need to compute this based on the size of the map vs the size of the viewport and the size of the minimap */
Width = (miniMapWidth * mapViewWidth) / mapWidth;
Height = (miniMapHeight * mapViewHeight) / mapHeight;
ResPropSetInt(SELF, "scalemx", (1000 * mapWidth) / miniMapWidth);
ResPropSetInt(SELF, "scalemy", (1000 * mapHeight) / miniMapHeight);
}
@mousedown {
ResPropSetInt(SELF, "mousedown" , 1);
ResPropSetInt(SELF, "mousedragx", CVarGetInt("inputMouseX"));
ResPropSetInt(SELF, "mousedragy", CVarGetInt("inputMouseY"));
}
@mouseup {
ResPropSetInt(SELF, "mousedown" , 0);
}
@draw {
/* Draw the Rect X,Y,X+Width,Y+Height */
DrawRect(
ResPropGetInt(SELF,"ScreenX"),
ResPropGetInt(SELF,"ScreenY"),
ResPropGetInt(SELF,"Width"),
ResPropGetInt(SELF,"Height"),
TRANSPARENT, /*fill color*/
ResPropGetInt(SELF,"color"), /*border color*/
2 /*border Width*/
);
}
@mousemove {
resid id_map;
resid id_mini_map;
resid id_tile_map;
int mouseDragX;
int mouseDragY;
int mouseX;
int mouseY;
int y;
int x;
int minX;
int minY;
int maxX;
int maxY;
int ScrollX;
int ScrollY;
int mapHeight;
int mapWidth;
int mapViewHeight;
int mapViewWidth;
if (ResPropGetInt(SELF,"mousedown")==1) {
id_map = GuiSiblingByName("map");
id_mini_map = GuiSiblingByName("minimap");
id_tile_map = ResPropGetResID(id_map, "TileMapID");
ResPropAlias(SELF, "mousedragx", "mouseDragX");
ResPropAlias(SELF, "mousedragy", "mouseDragY");
ResPropAlias(SELF, "X", "x");
ResPropAlias(SELF, "Y", "y");
mouseX = CVarGetInt("inputMouseX");
mouseY = CVarGetInt("inputMouseY");
minX = ResPropGetInt(id_mini_map, "X");
minY = ResPropGetInt(id_mini_map, "Y");
maxX = minX + ResPropGetInt(id_mini_map, "Width");
maxY = minY + ResPropGetInt(id_mini_map, "Height");
mapHeight = ResPropGetInt(id_tile_map, "MapHeight");
mapWidth = ResPropGetInt(id_tile_map, "MapWidth");
mapViewHeight = ResPropGetInt(id_map, "Height");
mapViewWidth = ResPropGetInt(id_map, "Width");
mouseX = Bound(minX, mouseX, maxX);
mouseY = Bound(minY, mouseY, maxY);
x = x + mouseX - mouseDragX;
y = y + mouseY - mouseDragY;
maxX -= ResPropGetInt(SELF,"Width");
maxY -= ResPropGetInt(SELF,"Height");
x = Bound(minX, x, maxX);
y = Bound(minY, y, maxY);
mouseDragX = mouseX;
mouseDragY = mouseY;
ScrollX = ( (x - minX) * ResPropGetInt(SELF, "scalemx") ) / 1000;
ScrollY = ( (y - minY) * ResPropGetInt(SELF, "scalemy") ) / 1000;
/*
The -1 in here shouldn't be needed, but without it you get
a line on the bottom that isn't drawn...
*/
ScrollX = Bound(0, ScrollX, (mapWidth - mapViewWidth) - 1);
ScrollY = Bound(0, ScrollY, (mapHeight - mapViewHeight) - 1);
ResPropSetInt(id_map, "ScrollX", -ScrollX);
ResPropSetInt(id_map, "ScrollY", -ScrollY);
}
}
}
},
GuiTextInput("city_label") {
X = 341;
Y = 40;
Height = 23;
Width = 213;
FontID = "font/verdana_black_bold_12.tf";
InputText = "";
InputDisabled = TRUE;
VerticalAlign = TOP;
},
GuiTextInput("state_label") {
X = 340;
Y = 250;
Height = 23;
Width = 195;
FontID = "font/verdana_black_bold_12.tf";
InputDisabled = TRUE;
InputText = "";
},
GuiButton("city_information_button") {
X = 562;
Y = 40;
StyleID = "gui/bs/info.gbs";
AutoSize = HEIGHT;
ScriptID = Script {
@show {
ResParseEvent(SELF, "@update");
}
@update {
resid Game;
resid Player;
resid city_data_id;
str city_description;
str map_view_city;
int map_view_city_row_num;
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game,"game_cur_player");
map_view_city_row_num = ResPropGetInt(Player, "map_view_city_row_num");
map_view_city = ResPropGetStr(Player, "map_view_city");
/* get city description */
city_data_id = ResPropGetResID(ResByName("CSVData"), "city_id");
city_description = CSVGetStr(city_data_id, "description", map_view_city_row_num);
/* display city description */
ResPropSetStr(GuiSiblingByName("city_label"),"InputText", map_view_city);
ResPropSetStr(GuiSiblingByName("city_information/city_description"),"InputText", city_description);
}
@activate {
ResParseEvent(SELF, "@update");
ResPropSetInt(GuiSiblingByName("city_information"),"Hidden",FALSE);
ResPropSetInt(GuiSiblingByName("city_image"),"Hidden",TRUE);
ResPropSetInt(GuiSiblingByName("city_summary"),"Hidden",TRUE);
}
};
},
GuiButton("city_picture_button") {
X = 581;
Y = 40;
StyleID = "gui/bs/photo.gbs";
AutoSize = HEIGHT;
ScriptID = Script {
@show {
ResParseEvent(SELF, "@update");
}
@update {
resid Game;
resid Player;
resid city_data_id;
str city_picture;
str caption_name;
int map_view_city_row_num;
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game, "game_cur_player");
map_view_city_row_num = ResPropGetInt(Player, "map_view_city_row_num");
caption_name = "Caption";
/* get city picture filename*/
city_data_id = ResPropGetResID(ResByName("CSVData"), "city_id");
city_picture = CSVGetStr(city_data_id , "city_image", map_view_city_row_num);
city_picture = StrFormatStr("csv_data/city/%s",city_picture);
/* display city picture */
/* ResPropSetStr (GuiSiblingByName("city_label"), "InputText", caption_name); */
ResPropSetResID(GuiSiblingByName("city_image/picture"), "AnimationID", ResByName(city_picture));
}
@activate {
ResParseEvent(SELF, "@update");
ResPropSetInt(GuiSiblingByName("city_information"),"Hidden",TRUE);
ResPropSetInt(GuiSiblingByName("city_image"),"Hidden",FALSE);
ResPropSetInt(GuiSiblingByName("city_summary"),"Hidden",TRUE);
}
};
},
GuiButton("city_summary_button") {
X = 600;
Y = 40;
StyleID = "gui/bs/summary.gbs";
AutoSize = HEIGHT;
ScriptID = Script {
@show {
ResParseEvent(SELF, "@update");
}
@update {
resid city_temperature_id;
resid Game;
resid Player;
resid csv_data_id;
resid city_data_id;
resid state_data_id;
str city_population;
str city_location;
str city_timezone;
str city_summer;
str city_winter;
str city_commodity;
str map_view_city;
int city_lodging_tax;
int state_food_tax;
int map_view_city_row_num;
int state_row;
str com1;
str com2;
str com3;
str state_ab;
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game,"game_cur_player");
map_view_city = ResPropGetStr(Player, "map_view_city");
map_view_city_row_num = ResPropGetInt(Player, "map_view_city_row_num");
/* get city summary */
csv_data_id = ResByName("CSVData");
city_data_id = ResPropGetResID(csv_data_id, "city_id");
city_temperature_id = ResPropGetResID(csv_data_id, "temperature_id");
city_population = CSVGetStr(city_data_id, "population", map_view_city_row_num);
city_location = CSVGetStr(city_data_id, "location", map_view_city_row_num);
city_timezone = CSVGetStr(city_data_id, "timezone", map_view_city_row_num);
city_lodging_tax = CSVGetInt(city_data_id, "lodging_tax", map_view_city_row_num);
city_summer = CSVGetStr(city_temperature_id, "summer_avg", CSVSearch(city_temperature_id, "city", map_view_city));
city_winter = CSVGetStr(city_temperature_id, "winter_avg", CSVSearch(city_temperature_id, "city", map_view_city));
com1 = CSVGetStr(city_data_id, "com1", map_view_city_row_num);
com2 = CSVGetStr(city_data_id, "com2", map_view_city_row_num);
com3 = CSVGetStr(city_data_id, "com3", map_view_city_row_num);
/* get state food tax */
state_ab = CSVGetStr(city_data_id, "state", map_view_city_row_num);
state_data_id = ResPropGetResID(csv_data_id, "state_id");
state_row = CSVSearch(state_data_id, "abbreviation", state_ab);
state_food_tax = CSVGetInt(state_data_id, "food_tax", state_row);
if (StrExact(com1, "")) {
city_commodity = "None";
} else {
city_commodity = com1;
if (!StrExact(com2, "")) {
city_commodity = StrFormatStr("%s, %s", city_commodity, com2);
if (!StrExact(com3, "")) {
city_commodity = StrFormatStr("%s, %s", city_commodity, com3);
}
}
}
/* display city summary */
/* ResPropSetStr(GuiSiblingByName("city_label"),"InputText",StrFormatStr("%s's Statistic",map_view_city)); */
ResPropSetStr(GuiSiblingByName("city_summary/city_population"),"InputText",city_population);
ResPropSetStr(GuiSiblingByName("city_summary/city_location"),"InputText",city_location);
ResPropSetStr(GuiSiblingByName("city_summary/city_timezone"),"InputText",city_timezone);
ResPropSetStr(GuiSiblingByName("city_summary/city_lodging"),"InputText",StrFormatStr("%s%s", IntToDecimalStr(city_lodging_tax,100)," %"));
ResPropSetStr(GuiSiblingByName("city_summary/city_food"),"InputText",StrFormatStr("%s%s", IntToDecimalStr(state_food_tax,100)," %"));
ResPropSetStr(GuiSiblingByName("city_summary/city_summer"),"InputText", StrFormatStr("%s %s", city_summer, ResPropGetStr(Game,"game_temperature_unit_short")));
ResPropSetStr(GuiSiblingByName("city_summary/city_winter"),"InputText",StrFormatStr("%s %s", city_winter, ResPropGetStr(Game,"game_temperature_unit_short")));
ResPropSetStr(GuiSiblingByName("city_summary/city_commodity"),"InputText",city_commodity);
}
@activate {
ResParseEvent(SELF, "@update");
ResPropSetInt(GuiSiblingByName("city_information"),"Hidden",TRUE);
ResPropSetInt(GuiSiblingByName("city_image"),"Hidden",TRUE);
ResPropSetInt(GuiSiblingByName("city_summary"),"Hidden",FALSE);
}
};
},
GuiButton("state_information_button") {
X = 543;
Y = 250;
StyleID = "gui/bs/info.gbs";
AutoSize = HEIGHT;
ScriptID = Script {
@show {
ResParseEvent(SELF,"@update");
}
@update {
resid Game;
resid Player;
resid state_data_id;
str state_description;
str map_view_state;
int map_view_state_row_num;
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game,"game_cur_player");
map_view_state = ResPropGetStr(Player, "map_view_state");
map_view_state_row_num = ResPropGetInt(Player, "map_view_state_row_num");
/* get state description */
state_data_id = ResPropGetResID(ResByName("CSVData"), "state_id");
state_description = CSVGetStr(state_data_id , "description", map_view_state_row_num);
/* display state description */
ResPropSetStr(GuiSiblingByName("state_label"),"InputText", map_view_state);
ResPropSetStr(GuiSiblingByName("state_information/state_description"),"InputText", state_description);
}
@activate {
ResParseEvent(SELF, "@update");
ResPropSetInt(GuiSiblingByName("state_information"),"Hidden",FALSE);
ResPropSetInt(GuiSiblingByName("state_image"),"Hidden",TRUE);
ResPropSetInt(GuiSiblingByName("state_summary"),"Hidden",TRUE);
}
};
},
GuiButton("state_flower_button") {
X = 562;
Y = 250;
StyleID = "gui/bs/flower.gbs";
AutoSize = HEIGHT;
ScriptID = Script {
@show {
ResParseEvent(SELF, "@update");
}
@update {
resid Game;
resid Player;
resid state_data_id;
str state_flower_image;
str state_flower_name;
int map_view_state_row_num;
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game,"game_cur_player");
map_view_state_row_num = ResPropGetInt(Player, "map_view_state_row_num");
/* get state flower image file */
state_data_id = ResPropGetResID(ResByName("CSVData"), "state_id");
state_flower_name = CSVGetStr(state_data_id , "flower", map_view_state_row_num);
state_flower_image = StrFormatStr("csv_data/flower/%s", CSVGetStr(state_data_id , "flower_image", map_view_state_row_num));
/* display state flower image */
/* ResPropSetStr (GuiSiblingByName("state_label"), "InputText", state_flower_name); */
ResPropSetResID(GuiSiblingByName("state_image/picture"), "AnimationID", ResByName(state_flower_image));
}
@activate {
ResParseEvent(SELF, "@update");
ResPropSetInt(GuiSiblingByName("state_information"),"Hidden",TRUE);
ResPropSetInt(GuiSiblingByName("state_image"),"Hidden",FALSE);
ResPropSetInt(GuiSiblingByName("state_summary"),"Hidden",TRUE);
}
};
},
GuiButton("state_bird_button") {
X = 581;
Y = 250;
StyleID = "gui/bs/bird.gbs";
AutoSize = HEIGHT;
ScriptID = Script {
@show {
ResParseEvent(SELF,"@update");
}
@update {
resid Game;
resid Player;
resid state_data_id;
str state_bird_image;
str state_bird_name;
int map_view_state_row_num;
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game, "game_cur_player");
map_view_state_row_num = ResPropGetInt(Player, "map_view_state_row_num");
/* get state bird image file */
state_data_id = ResPropGetResID(ResByName("CSVData"), "state_id");
state_bird_name = CSVGetStr(state_data_id , "bird", map_view_state_row_num);
state_bird_image = StrFormatStr("csv_data/bird/%s", CSVGetStr(state_data_id , "bird_image", map_view_state_row_num));
/* display state bird image */
/* ResPropSetStr (GuiSiblingByName("state_label"), "InputText", state_bird_name); */
ResPropSetResID(GuiSiblingByName("state_image/picture"), "AnimationID", ResByName(state_bird_image));
}
@activate {
ResParseEvent(SELF, "@update");
ResPropSetInt(GuiSiblingByName("state_information"),"Hidden",TRUE);
ResPropSetInt(GuiSiblingByName("state_image"),"Hidden",FALSE);
ResPropSetInt(GuiSiblingByName("state_summary"),"Hidden",TRUE);
}
};
},
GuiButton("state_summary_button") {
X = 600;
Y = 250;
StyleID = "gui/bs/summary.gbs";
AutoSize = HEIGHT;
ScriptID = Script {
@show {
ResParseEvent(SELF, "@update");
}
@update {
resid Game;
resid Player;
resid state_data_id;
str state_population;
str state_capital;
str state_size;
str state_climate;
str state_flower;
str state_bird;
str state_nickname;
int state_fuel_tax;
str map_view_state;
int map_view_state_row_num;
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game,"game_cur_player");
map_view_state = ResPropGetStr(Player, "map_view_state");
map_view_state_row_num = ResPropGetInt(Player, "map_view_state_row_num");
/* get state summary */
state_data_id = ResPropGetResID(ResByName("CSVData"), "state_id");
state_population = CSVGetStr(state_data_id, "population", map_view_state_row_num);
state_capital = CSVGetStr(state_data_id, "capital", map_view_state_row_num);
state_size = CSVGetStr(state_data_id, "size", map_view_state_row_num);
state_climate = CSVGetStr(state_data_id, "climate", map_view_state_row_num);
state_nickname = CSVGetStr(state_data_id, "nickname", map_view_state_row_num);
state_bird = CSVGetStr(state_data_id, "bird", map_view_state_row_num);
state_flower = CSVGetStr(state_data_id, "flower", map_view_state_row_num);
state_fuel_tax = CSVGetInt(state_data_id, "fuel_tax", map_view_state_row_num);
/* display state summary */
/* ResPropSetStr(GuiSiblingByName("state_label"),"InputText", StrFormatStr("%s's Statistic",map_view_state)); */
ResPropSetStr(GuiSiblingByName("state_summary/state_population"),"InputText",state_population);
ResPropSetStr(GuiSiblingByName("state_summary/state_capital"),"InputText",state_capital);
ResPropSetStr(GuiSiblingByName("state_summary/state_size"),"InputText",StrFormatStr("%s %s",state_size,ResPropGetStr(Game,"game_distance_unit_square")));
ResPropSetStr(GuiSiblingByName("state_summary/state_climate"),"InputText",state_climate);
ResPropSetStr(GuiSiblingByName("state_summary/state_nickname"),"InputText",state_nickname);
ResPropSetStr(GuiSiblingByName("state_summary/state_bird"),"InputText",state_bird);
ResPropSetStr(GuiSiblingByName("state_summary/state_flower"),"InputText",state_flower);
ResPropSetStr(GuiSiblingByName("state_summary/state_fuel_tax"),"InputText", StrFormatStr("%d%s",state_fuel_tax, " %"));
}
@activate {
ResParseEvent(SELF, "@update");
ResPropSetInt(GuiSiblingByName("state_information"),"Hidden",TRUE);
ResPropSetInt(GuiSiblingByName("state_image"),"Hidden",TRUE);
ResPropSetInt(GuiSiblingByName("state_summary"),"Hidden",FALSE);
}
};
},
GuiLayer("city_information") {
X = 346;
Y = 41;
ChildID = {
GuiTextInput("city_description") {
X = 0;
Y = 24;
Width = 275;
Height = 184;
InputDisabled = TRUE;
InputVerticalAlign = TOP;
FontID = "font/arial_black_14.tf";
MaxLength = 4096;
InputText = 4096:"";
WordWrap = 1;
ChildID = {
GuiScrollBar ("sb") {
Kind = VERTICAL;
ChildID = {
GuiButton("thumb") {
StyleID = "gui/laptop/scrollbar/sb_thumb.gbs";
},
GuiButton("dec") {
StyleID = "gui/laptop/scrollbar/sb_uarrow.gbs";
},
GuiButton("inc") {
StyleID = "gui/laptop/scrollbar/sb_darrow.gbs";
}
};
}
};
} /* END OF city_description */
}; /* END OF city_information CHILDID */
},
GuiLayer("city_image") {
X = 347;
Y = 40;
Hidden = TRUE;
ChildID = {
GuiAnimation("picture") {
X = 0;
Y = 24;
}
};
},
GuiLayer("city_summary") {
X = 346;
Y = 75;
Hidden = TRUE;
ChildID = {
GuiTextInput("city_population_title") {
X = 10;
Y = 0;
Height = 21;
Width = 85;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(323/*"Population:"*/);
},
GuiTextInput("city_population") {
X = 100;
Y = 0;
Height = 21;
Width = 166;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("city_location_title") {
X = 10;
Y = 20;
Height = 21;
Width = 85;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(324/*"Location:"*/);
},
GuiTextInput("city_location") {
X = 100;
Y = 20;
Height = 21;
Width = 166;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("city_timezone_title") {
X = 10;
Y = 40;
Height = 21;
Width = 85;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(325/*"Timezone:"*/);
},
GuiTextInput("city_timezone") {
X = 100;
Y = 40;
Height = 21;
Width = 166;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("city_commodity_title") {
X = 10;
Y = 60;
Height = 21;
Width = 85;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(326/*"Commodity:"*/);
},
GuiTextInput("city_commodity") {
X = 100;
Y = 60;
Height = 21;
Width = 166;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("city_lodging_title") {
X = 10;
Y = 80;
Height = 21;
Width = 149;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(327/*"Lodging Tax:"*/);
},
GuiTextInput("city_lodging") {
X = 100;
Y = 80;
Height = 21;
Width = 115;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("city_food_title") {
X = 10;
Y = 100;
Height = 21;
Width = 149;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(328/*"Food Tax:"*/);
},
GuiTextInput("city_food") {
X = 100;
Y = 100;
Height = 21;
Width = 115;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("city_summer_title") {
X = 10;
Y = 120;
Height = 21;
Width = 149;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(329/*"Average Summer Temp:"*/);
},
GuiTextInput("city_summer") {
X = 160;
Y = 120;
Height = 21;
Width = 115;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("city_winter_title") {
X = 10;
Y = 140;
Height = 21;
Width = 145;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(330/*"Average Winter Temp:"*/);
},
GuiTextInput("city_winter") {
X = 160;
Y = 140;
Height = 21;
Width = 120;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
}
};
},
GuiLayer("state_information") {
X = 346;
Y = 251;
ChildID = {
GuiTextInput("state_description") {
X = 0;
Y = 25;
Width = 275;
Height = 184;
InputDisabled = TRUE;
InputVerticalAlign = TOP;
FontID = "font/arial_black_14.tf";
MaxLength = 4096;
InputText = 4096:"";
WordWrap = 1;
ChildID = {
GuiScrollBar ("sb") {
Kind = VERTICAL;
ChildID = {
GuiButton("thumb") {
StyleID = "gui/laptop/scrollbar/sb_thumb.gbs";
},
GuiButton("dec") {
StyleID = "gui/laptop/scrollbar/sb_uarrow.gbs";
},
GuiButton("inc") {
StyleID = "gui/laptop/scrollbar/sb_darrow.gbs";
}
};
}
};
}
};
},
GuiLayer("state_image") {
X = 346;
Y = 251;
Hidden = TRUE;
ChildID = {
GuiAnimation("picture") {
X = 0;
Y = 25;
}
};
},
GuiLayer("state_summary") {
X = 346;
Y = 285;
Hidden = TRUE;
ChildID = {
GuiTextInput("state_population_title") {
X = 10;
Y = 0;
Width = 87;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(331/*"Population:"*/);
},
GuiTextInput("state_population") {
X = 100;
Y = 0;
Width = 168;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("state_capital_title") {
X = 10;
Y = 20;
Width = 87;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(332/*"Capital:"*/);
},
GuiTextInput("state_capital") {
X = 100;
Y = 20;
Width = 168;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("state_nickname_title") {
X = 10;
Y = 40;
Width = 87;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(333/*"Nickname:"*/);
},
GuiTextInput("state_nickname") {
X = 100;
Y = 40;
Width = 168;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("state_size_title") {
X = 10;
Y = 60;
Width = 87;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(334/*"Area:"*/);
},
GuiTextInput("state_size") {
X = 100;
Y = 60;
Width = 168;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("state_climate_title") {
X = 10;
Y = 80;
Width = 87;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(335/*"Climate Code:"*/);
},
GuiTextInput("state_climate") {
X = 100;
Y = 80;
Width = 168;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("state_flower_title") {
X = 10;
Y = 100;
Width = 87;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(336/*"Flower:"*/);
},
GuiTextInput("state_flower") {
X = 100;
Y = 100;
Width = 168;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("state_bird_title") {
X = 10;
Y = 120;
Width = 87;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(337/*"Bird:"*/);
},
GuiTextInput("state_bird") {
X = 100;
Y = 120;
Width = 168;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
},
GuiTextInput("state_fuel_tax_title") {
X = 10;
Y = 140;
Width = 87;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = Mangle(338/*"Fuel Tax:"*/);
},
GuiTextInput("state_fuel_tax") {
X = 100;
Y = 140;
Width = 168;
Height = 21;
InputDisabled = TRUE;
FontID = "font/arial_black_14.tf";
InputText = "";
}
};
},
GuiTextInput("screen_name") {
X = 30;
Y = 40;
Width = 100;
Height = 20;
FontID = "font/verdana_9.tf";
InputDisabled = TRUE;
InputText = Mangle(339/*"Detailed Map"*/);
},
/* BUTTON TO DISPLAY CURRENT TRUCK POSITION ON TILE MAP */
GuiButton("truck_curr_position_icon") {
X = 320;
Y = 40;
StyleID = "gui/bs/truck.gbs";
AutoSize = HEIGHT;
ScriptID = Script {
@activate {
resid Player;
resid Game;
resid city_data_id;
resid id_map;
resid id_tile_map;
resid id_mini_map_button;
resid id_mini_map;
int x;
int y;
int nav_cur_city_row_num;
int nav_cur_state_row_num;
str nav_cur_city;
str nav_cur_state;
int view_max_x;
int view_max_y;
int tile_max_x;
int tile_max_y;
int scaleX;
int scaleY;
int minimap_x;
int minimap_y;
int minX;
int minY;
int maxX;
int maxY;
/* get player information */
Game = ResByName("Game");
Player = ResPropGetResID(Game,"game_cur_player");
nav_cur_city = ResPropGetStr(Player, "nav_cur_city");
nav_cur_state = ResPropGetStr(Player, "nav_cur_state");
nav_cur_city_row_num = ResPropGetInt(Player, "nav_cur_city_row_num");
nav_cur_state_row_num = ResPropGetInt(Player, "nav_cur_state_row_num");
/* get IDs */
id_map = GuiSiblingByName("map");
id_tile_map = ResPropGetResID(id_map, "TileMapID");
city_data_id = ResPropGetResID(ResByName("CSVData"), "city_id");
/* get city coordinates */
x = ResPropGetInt(Player, "nav_truck_x");
y = ResPropGetInt(Player, "nav_truck_y");
/* get window size */
view_max_x = ResPropGetInt(id_map, "Width");
view_max_y = ResPropGetInt(id_map, "Height");
/* get map size */
tile_max_x = ResPropGetInt(id_tile_map, "TileWidth");
tile_max_y = ResPropGetInt(id_tile_map, "TileHeight");
/* guard viewing city out of boundary */
if ((x+(view_max_x/2)) > tile_max_x) {
x = 1683;
} else if ((x-(view_max_x/2)) < 0) {
x = 0;
} else {
x -= (view_max_x/2);
}
if ((y+(view_max_y/2)) > tile_max_y) {
y = 553;
} else if ((y-(view_max_y/2)) < 0) {
y = 0;
}else {
y -= (view_max_y/2);
}
/* set view (window) coordinate on big map*/
ResPropSetInt(id_map, "ScrollX", -( x) );
ResPropSetInt(id_map, "ScrollY", -( y) );
/* set minimap x and y to draw rect */
id_mini_map = GuiSiblingByName("minimap");
minX = ResPropGetInt(id_mini_map, "X");
minY = ResPropGetInt(id_mini_map, "Y");
maxX = minX + ResPropGetInt(id_mini_map, "Width");
maxY = minY + ResPropGetInt(id_mini_map, "Height");
id_mini_map_button = GuiSiblingByName("minimapbutton");
minimap_x = ((x*1000)/ResPropGetInt(id_mini_map_button, "scalemx"))+minX;
minimap_y = ((y*1000)/ResPropGetInt(id_mini_map_button, "scalemy"))+minY;
ResPropSetInt(ResByName("map.gl/minimapbutton"), "X", minimap_x);
ResPropSetInt(ResByName("map.gl/minimapbutton"), "Y", minimap_y);
/* set view city on Player */
ResPropSetStr(Player, "map_view_city", nav_cur_city);
ResPropSetInt(Player, "map_view_city_row_num", nav_cur_city_row_num);
/* set view state on Player */
ResPropSetStr(Player, "map_view_state", nav_cur_state);
ResPropSetInt(Player, "map_view_state_row_num", nav_cur_state_row_num);
ResParseEvent(GuiParent(SELF), "@updateCityStateViews");
}
};
}
}; /* END OF MAIN CHILDID */
}